package com.javafactroy.kunlong.data.entity;

import lombok.Data;
import com.javafactroy.kunlong.base.dto.TQueryParam;
import com.javafactroy.kunlong.client.feign.dto.PageInfoDto;
import javax.persistence.Column;
import javax.persistence.*;
//import javax.persistence.Id;
import lombok.experimental.Accessors;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import com.alibaba.excel.annotation.write.style.ColumnWidth;

import io.swagger.annotations.ApiModelProperty;
/**
*  @author raymond.lei@163.com
*  @date   2023-12-01 09:30:00
*  @file   MetadataColumnPropApiEntity.java
*  @company com.javafactroy.kunlong
*
*/
@Data
@Table(name="metadata_column_prop")
@ApiModel("列属性")
@Accessors(chain = true)
@ExcelIgnoreUnannotated
@ColumnWidth(18)
public class MetadataColumnPropApiEntity   extends PageInfoDto {
    private static final long serialVersionUID = 1L; //一会就说这个是做什么的

    public final static String pkeyField = "col_id";
    public final static String pkeyProp  = "colId";
    @Data
    public static class MetadataColumnPropQueryParam extends TQueryParam<MetadataColumnPropApiEntity> {
        public MetadataColumnPropQueryParam() {
            param = new MetadataColumnPropApiEntity();
        }
    }

    		// 列主键 dataType:bigint
		@ApiModelProperty(name="列主键")
		@ExcelProperty("列主键")
		@Column(name="col_id")
		@Id
		@GeneratedValue(strategy = GenerationType.IDENTITY,generator = "Mysql")
		protected Long  colId;

		// 主键 dataType:bigint
		@ApiModelProperty(name="主键")
		@ExcelProperty("主键")
		@Column(name="table_id")
		protected Long  tableId;

		// 表名 dataType:varchar
		@ApiModelProperty(name="表名")
		@ExcelProperty("表名")
		@Column(name="table_name")
		protected String  tableName;

		// 属性名 dataType:varchar
		@ApiModelProperty(name="属性名")
		@ExcelProperty("属性名")
		@Column(name="prop_name")
		protected String  propName;

		// 属性类型 dataType:varchar
		@ApiModelProperty(name="属性类型")
		@ExcelProperty("属性类型")
		@Column(name="prop_type")
		protected String  propType;

		// JDBC类型 dataType:varchar
		@ApiModelProperty(name="JDBC类型")
		@ExcelProperty("JDBC类型")
		@Column(name="jdbc_type")
		protected String  jdbcType;

		// 列名 dataType:varchar
		@ApiModelProperty(name="列名")
		@ExcelProperty("列名")
		@Column(name="col_name")
		protected String  colName;

		// 列类型 dataType:varchar
		@ApiModelProperty(name="列类型")
		@ExcelProperty("列类型")
		@Column(name="col_type")
		protected String  colType;

		// 数据类型 dataType:varchar
		@ApiModelProperty(name="数据类型")
		@ExcelProperty("数据类型")
		@Column(name="data_type")
		protected String  dataType;

		// 注释 dataType:varchar
		@ApiModelProperty(name="注释")
		@ExcelProperty("注释")
		@Column(name="col_comment")
		protected String  colComment;

		// 长度 dataType:int
		@ApiModelProperty(name="长度")
		@ExcelProperty("长度")
		@Column(name="max_length")
		protected Integer  maxLength;

		// visible_flag dataType:bit
		@ApiModelProperty(name="")
		@ExcelProperty("visible_flag")
		@Column(name="visible_flag")
		protected Boolean  visibleFlag;

		// exp_flag dataType:bit
		@ApiModelProperty(name="")
		@ExcelProperty("exp_flag")
		@Column(name="exp_flag")
		protected Boolean  expFlag;



}